Partial Evaluation applied to Symbolic Pattern Matching with Intelligent Backtrack
نویسندگان
چکیده
Partial version presented at Workshop for Static Analysis (Bor-deaux France) october 1992. Abstract Symbolic pattern matching as ooered by Lisp dialects allows to scan Sexpressions, to verify their shape and to extract or compare subparts of them. A rich set of patterns exists and among them alternate patterns. Such patterns are handled through backtrack: a failure forces the pattern matcher to regress to its last point of choice and to try another branch. The usual na ve backtrack algorithm forgets all the informations acquired on the datum from the last point of choice up to the failure point. Our algorithm provides intelligent backtrack i.e. these informations are given back to the pattern matcher which can then use them to choose the appropriate backtrack point therefore eliminating redundant tests or dead-end branches. It turns out that this very simple idea \Don't throw any information painfully acquired", forms the basis of many clever algorithms such as Knuth-Morris-Pratt (KMP) or Boyer-Moore (BM) for strings, Hoomann-O'Donnell for trees etc. The other beneet comes from the great aptitude of our pattern matcher to be partially evaluated into eecient code: no eurekas are needed to show that we \rediscover" all the previously mentionned algorithms. The original results of this paper are: 1. a general symbolic pattern matching algorithm with intelligent backtrack. Contrasting with many published pattern matchers, ours ooers pattern variables, boolean connectives and unbounded tree-like repetition. 2. we show how failure informations are, most of the time, static (or safely approximated) thus giving great opportunities for our pattern matcher to well behave through partial evaluation. 3. we show that KMP, BM and others are instances of our pattern matcher depending on the exact order (left-to-right, top-to-bottom, etc.) along which composed patterns such as cons or tree match their sub-patterns. In conclusion, our pattern matcher appears as the incarnation of a simple but fundamental idea, can be tailored to particular domains such as strings, trees or nucleotides sequences, uses regular partial evaluation to automatically produce superior compilers and eventually provides an interesting framework to teach and compare known algorithms. Symbolic pattern matching is a popular technique of Lisp or ML families of languages. In these languages, data are usually tree-shaped so that compiling patterns into eecient code is of paramount importance. We based our study on the pattern language presented in Que90] and its associated denotational semantics. This pattern language allows to express a wide variety …
منابع مشابه
Flexible Matching of Boolean Symbolic Objects
Matching is the process of comparing two or more structures to discover their likenesses or differences. It is a common operation performed in symbolic classification, pattern recognition, data mining and expert systems. The definition of a matching operator for Boolean symbolic objects is important for the development of symbolic data analysis techniques. In this paper we give the definition o...
متن کاملIntegrating Simplication Techniques in SAT Algorithms
Propositional Satisfiability (SAT) is fundamental in solving many application problems in Artificial Intelligence and in other fields of Computer Science and Engineering. In the past, it has already been shown that large simplifications can be obtained using algebraic simplification techniques. On the other hand, intelligent backtrack search algorithms for SAT have empirically been shown to be ...
متن کاملFractured Reservoirs History Matching based on Proxy Model and Intelligent Optimization Algorithms
In this paper, a new robust approach based on Least Square Support Vector Machine (LSSVM) as a proxy model is used for an automatic fractured reservoir history matching. The proxy model is made to model the history match objective function (mismatch values) based on the history data of the field. This model is then used to minimize the objective function through Particle Swarm Optimization (...
متن کاملIntelligent Systems For Aerospace Engineering--An Overview
1 Abstract Intelligent systems are nature-inspired, mathematically sound, computationally intensive problem solving tools and methodologies that have become extremely important for advancing the current trends in information technology. Artificially intelligent systems currently utilize computers to emulate various faculties of human intelligence and biological metaphors. They use a combination...
متن کاملEvaluation of Similarity Measures for Template Matching
Image matching is a critical process in various photogrammetry, computer vision and remote sensing applications such as image registration, 3D model reconstruction, change detection, image fusion, pattern recognition, autonomous navigation, and digital elevation model (DEM) generation and orientation. The primary goal of the image matching process is to establish the correspondence between two ...
متن کامل